package cn.fl.grpcfg.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.grpcfg.vo.SplGrpPrjBizViewVO;
import fl.spl.facade.grpcfg.dto.SplGrpPrjBizViewDTO;

import java.util.ArrayList;
import java.util.List;


/**
 * @Description: 集团经销商挂靠业务数据视图 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class SplGrpPrjBizViewVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto SplGrpPrjBizViewDTO
	 * @return SplGrpPrjBizViewVO
	 */
	public static SplGrpPrjBizViewVO toVO(SplGrpPrjBizViewDTO dto) {
		SplGrpPrjBizViewVO  vo = null;
		if (dto != null) { 
			vo = new SplGrpPrjBizViewVO();
			vo.setId(dto.getId());
			vo.setPaySchId(dto.getPaySchId());//支付表ID
			vo.setPaySchNo(dto.getPaySchNo());//支付表号
			vo.setLsDt(dto.getLsDt());//起租日
			vo.setActLsAmt(dto.getActLsAmt());//实际融资租赁价值（元）
			vo.setPrjId(dto.getPrjId());//项目ID
			vo.setCstId(dto.getCstId());//客户ID
			vo.setCstNm(dto.getCstNm());//客户名称
			vo.setPrjTypCd(dto.getPrjTypCd());//项目类型(PRJ0002)
			vo.setPrdStsCd(dto.getPrdStsCd());//资产状态(PRJ0037)
			vo.setLnkCompId(dto.getLnkCompId());//挂靠公司ID
			vo.setLnkCompNm(dto.getLnkCompNm());//挂靠公司名称
			vo.setSplId(dto.getSplId());//经销商ID
			vo.setSplNm(dto.getSplNm());//经销商名称
			vo.setOverdueAmount(dto.getOverdueAmount());//逾期租金总金额
			vo.setOverdueDay(dto.getOverdueDay());//逾期天数
			vo.setPenaltyAmount(dto.getPenaltyAmount());//罚息金额
			vo.setArAmt(dto.getArAmt());//剩余本金
			vo.setBuOrgCd(dto.getBuOrgCd());//事业部CODE
			vo.setMaxOvdDay(dto.getMaxOvdDay()); //历史最大逾期天数
			vo.setHisBkDevAmt(dto.getHisBkDevAmt());
			vo.setHisBkPayNum(dto.getHisBkPayNum());
			vo.setRepayBkExpoAmt(dto.getRepayBkExpoAmt());
			vo.setRepayBkPayNum(dto.getRepayBkPayNum());
			vo.setRepayExpoAmt(dto.getRepayExpoAmt());
			vo.setRepayPayNum(dto.getRepayPayNum());
			vo.setTotalDevAmt(dto.getTotalDevAmt());
			vo.setTotalPayNum(dto.getTotalPayNum());
			vo.setDataId(dto.getDataId());
			vo.setCompNm(dto.getCompNm());
			vo.setLsPd(dto.getLsPd());
			vo.setCertNo(dto.getCertNo());
			vo.setCstEnsureAmt(dto.getCstEnsureAmt()); //客户保证金

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo SplGrpPrjBizViewVO
	 * @return SplGrpPrjBizViewDTO
	 */
	public static SplGrpPrjBizViewDTO toDTO(SplGrpPrjBizViewVO vo) {
		SplGrpPrjBizViewDTO dto = null;
		if (vo != null) {
			dto = new SplGrpPrjBizViewDTO();
			dto.setId(vo.getId());
			dto.setPaySchId(vo.getPaySchId());//支付表ID
			dto.setPaySchNo(vo.getPaySchNo());//支付表号
			dto.setLsDt(vo.getLsDt());//起租日
			dto.setActLsAmt(vo.getActLsAmt());//实际融资租赁价值（元）
			dto.setPrjId(vo.getPrjId());//项目ID
			dto.setCstId(vo.getCstId());//客户ID
			dto.setCstNm(vo.getCstNm());//客户名称
			dto.setPrjTypCd(vo.getPrjTypCd());//项目类型(PRJ0002)
			dto.setPrdStsCd(vo.getPrdStsCd());//资产状态(PRJ0037)
			dto.setLnkCompId(vo.getLnkCompId());//挂靠公司ID
			dto.setLnkCompNm(vo.getLnkCompNm());//挂靠公司名称
			dto.setSplId(vo.getSplId());//经销商ID
			dto.setSplNm(vo.getSplNm());//经销商名称
			dto.setOverdueAmount(vo.getOverdueAmount());//逾期租金总金额
			dto.setOverdueDay(vo.getOverdueDay());//逾期天数
			dto.setPenaltyAmount(vo.getPenaltyAmount());//罚息金额
			dto.setArAmt(vo.getArAmt());//剩余本金
			dto.setBuOrgCd(vo.getBuOrgCd());//事业部CODE
			dto.setMaxOvdDay(vo.getMaxOvdDay());//历史最大逾期天数
			dto.setHisBkDevAmt(vo.getHisBkDevAmt());
			dto.setHisBkPayNum(vo.getHisBkPayNum());
			dto.setRepayBkExpoAmt(vo.getRepayBkExpoAmt());
			dto.setRepayBkPayNum(vo.getRepayBkPayNum());
			dto.setRepayExpoAmt(vo.getRepayExpoAmt());
			dto.setRepayPayNum(vo.getRepayPayNum());
			dto.setTotalDevAmt(vo.getTotalDevAmt());
			dto.setTotalPayNum(vo.getTotalPayNum());
			dto.setDataId(vo.getDataId());
			dto.setCompNm(vo.getCompNm());
			dto.setLsPd(vo.getLsPd());
			dto.setCertNo(vo.getCertNo());
			dto.setCstEnsureAmt(vo.getCstEnsureAmt()); //客户保证金

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}

	 /**
	  * DTO集合 转 VO集合
	  * @param list List<SplGrpPrjBizViewDTO>
	  * @return List<SplGrpPrjBizViewVO>
	  */
	 public static List<SplGrpPrjBizViewVO> toVOList(List<SplGrpPrjBizViewDTO> list) {
		 List<SplGrpPrjBizViewVO>  voList = new ArrayList<SplGrpPrjBizViewVO>();
		 if(CollectionUtils.isNotEmpty(list)){
			 for (SplGrpPrjBizViewDTO dto : list) {
				 voList.add(toVO(dto));
			 }
		 }
		 return voList;
	 }

	 /**
	  * VO集合 转 DTO集合
	  * @param list List<SplGrpPrjBizViewVO>
	  * @return List<SplGrpPrjBizViewDTO>
	  */
	 public static List<SplGrpPrjBizViewDTO> toDTOList(List<SplGrpPrjBizViewVO> list) {
		 List<SplGrpPrjBizViewDTO>  dtoList = new ArrayList<SplGrpPrjBizViewDTO>();
		 if(CollectionUtils.isNotEmpty(list)){
			 for (SplGrpPrjBizViewVO vo : list) {
				 dtoList.add(toDTO(vo));
			 }
		 }
		 return dtoList;
	 }
}
